// class Logger {
//     constructor() {
//         if (!Logger.instance) {
//             this.logs = []
//             Logger.instance = this
//         }
//         console.log(Logger);
//         return Logger.instance
//     }
//     log(message){
//         this.logs.push(message)
//     }
//     printLogCount() {
//         console.log(`Number of logs: ${this.logs.length}`);
//       }
// }

// const log1 = new Logger()
// log1.log("第一次")
// log1.printLogCount()

// const log2 = new Logger()
// log2.log("第二次")
// log2.printLogCount()
function foo() {
    var self = this;
    console.log(this,'this');
    setTimeout(function() {
        console.log(this  === Window);
       console.log("id:" + this.id);
    },100);
 }
 
 foo.call( { id: 42 } );
 